{$IFNDEF M_W7UI}
{$DEFINE M_W7UI}

const
	MIS_ICOLIB   = 0;
	MIS_GENERAL  = 1;
	MIS_PROTOCOL = 2;

type
  PMIRANDAJUMPLISTITEM = ^TMIRANDAJUMPLISTITEM;
  TMIRANDAJUMPLISTITEM = record
    iconSource:int;
    iconName  :PAnsiChar;
    iconIdx   :int;
    szTitle   :PWideChar;
    szPrefix  :PWideChar;
    szArgument:PWideChar;
  end;

const
// Force jumplist rebuild
  MS_JUMPLIST_REBUILD:PAnsiChar = 'w7/JumpList/Rebuild';

// ---
  ME_JUMPLIST_BUILDCATEGORIES:PAnsiChar = 'w7/JumpList/BuildCategories';

// lParam = (WCHAR *)category name
  ME_JUMPLIST_BUILDITEMS:PAnsiChar = 'w7/JumpList/BuildItems';

// lParam = (WCHAR *)category name
  MS_JUMPLIST_ADDCATEGORY:PAnsiChar = 'w7/JumpList/AddCategory';

// lParam = (MIRANDAJUMPLISTITEM *)item
  MS_JUMPLIST_ADDITEM:PAnsiChar = 'w7/JumpList/AddItem';

// wParam = prefix
// lParam = argument
  ME_JUMPLIST_PROCESS:PAnsiChar = 'w7/JumpList/Process';

{
procedure MJumpList_AddCategory(name:PWideChar);
begin
	CallService(MS_JUMPLIST_ADDCATEGORY, 0, LPARAM(name));
end;

procedure MJumpList_AddItem(mir_icon:PAnsiChar; title, prefix, argument:PWideChar); overload;
var
  item:TMIRANDAJUMPLISTITEM;
begin
	item.iconSource:=MIS_ICOLIB;
	item.iconName  :=mir_icon;
	item.iconIdx   :=0;
	item.szTitle   :=title;
	item.szPrefix  :=prefix;
	item.szArgument:=argument;
	CallService(MS_JUMPLIST_ADDITEM, 0, LPARAM(@item));
end;

procedure MJumpList_AddItem(skinicon:int; title, prefix, argument:PWideChar); overload;
var
  item:TMIRANDAJUMPLISTITEM;
begin
	item.iconSource:=MIS_GENERAL;
	item.iconName  :=nil;
	item.iconIdx   :=skinicon;
	item.szTitle   :=title;
	item.szPrefix  :=prefix;
	item.szArgument:=argument;
	CallService(MS_JUMPLIST_ADDITEM, 0, LPARAM(@item));
end;

procedure MJumpList_AddItem(proto:pansiChar; skinicon:int; title, prefix, argument:PWideChar); overload;
var
  item:TMIRANDAJUMPLISTITEM;
begin
	item.iconSource:=MIS_PROTOCOL;
	item.iconName  :=proto;
	item.iconIdx   :=skinicon;
	item.szTitle   :=title;
	item.szPrefix  :=prefix;
	item.szArgument:=argument;
	CallService(MS_JUMPLIST_ADDITEM, 0, LPARAM(@item));
end;
}
{$ENDIF}
